This file is part of the supplementary material of the manuscript: Didino, D., Brandtner, M., & Knops, A. (2021). No influence of masked priming on the multiplication fact retrieval in a result verification task.

This script reports the analysis for experiment 3.

Dataset loaded: exp3_data.rds (data of result verification task)

Load libraries, my functions (my_functions folder) and data (data/processed folder):

library('ggpubr')
#> Loading required package: ggplot2
library('here')
#> here() starts at D:/mult_prime
library('kableExtra')
# library('knitr')
library('plotly')
#> 
#> Attaching package: 'plotly'
#> The following object is masked from 'package:ggplot2':
#> 
#>     last_plot
#> The following object is masked from 'package:stats':
#> 
#>     filter
#> The following object is masked from 'package:graphics':
#> 
#>     layout
library('ggridges')
library('tidyverse')
#> -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
#> v tibble  3.1.0     v dplyr   1.0.5
#> v tidyr   1.1.3     v stringr 1.4.0
#> v readr   1.4.0     v forcats 0.5.1
#> v purrr   0.3.4
#> -- Conflicts ------------------------------------------ tidyverse_conflicts() --
#> x dplyr::filter()     masks plotly::filter(), stats::filter()
#> x dplyr::group_rows() masks kableExtra::group_rows()
#> x dplyr::lag()        masks stats::lag()
library('BayesFactor')
#> Loading required package: coda
#> Loading required package: Matrix
#> 
#> Attaching package: 'Matrix'
#> The following objects are masked from 'package:tidyr':
#> 
#>     expand, pack, unpack
#> ************
#> Welcome to BayesFactor 0.9.12-4.2. If you have questions, please contact Richard Morey (richarddmorey@gmail.com).
#> 
#> Type BFManual() to open the manual.
#> ************

# Load my functions
source(here('funcs', 'load_my_functions.R'))

# Load data
exp3 <- readRDS(here('data', 'processed', 'exp3_data.rds'))

Exclude outliers

exp3 <- 
  exp3 %>% 
  filter(outlier == FALSE)

RTs plots

RTs distribution across prime conditions:

plot_1 <-
  exp3 %>% 
  ggplot(aes(RT, fill = prime_cond)) +
  geom_density(alpha = 0.6) +
  facet_wrap(~ SOA + problem_size, ncol = 2) +
  theme(panel.spacing = unit(1, "cm"))

ggplotly(plot_1)

Comparison between the distribution of the RTs of the neutral condition and the other conditions. The neutral condition is replicated next to each condition to facilitate the comparison.

exp3_rainplot <- 
  exp3 %>%
  group_by(SOA) %>% 
  group_nest() %>% 
  mutate(
    by_SOA = map(
      data,
      ~return_means(RT, c('problem_size', 'sj', 'prime_cond'), .) %>% 
        return_df_plot(.,
                       problem_size,
                       prime_cond,
                       'neutral')
    )
  ) %>% 
  unnest(by_SOA)
#> `summarise()` has grouped output by 'problem_size', 'sj'. You can override using the `.groups` argument.
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")
#> `summarise()` has grouped output by 'problem_size', 'sj'. You can override using the `.groups` argument.
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")
#> `summarise()` has grouped output by 'problem_size', 'sj'. You can override using the `.groups` argument.
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")
#> Joining, by = c("sj", "DV", "neutral")

# Set H0/H1 position
segs <- 
  tribble(
    ~SOA,      ~problem_size, ~cond,       ~neutral, ~lab, ~ys,
    'SOA_050', 'Large',       'neigh_con', 'Neutral', 'H0', 1200,
    'SOA_050', 'Large',       'neigh_inc', 'Neutral', 'H0', 1200,
    'SOA_050', 'Large',       'unrel_inc', 'Neutral', 'H0', 1200,
    'SOA_050', 'Small',       'neigh_con', 'Neutral', 'H1', 1200,
    'SOA_050', 'Small',       'neigh_inc', 'Neutral', 'H1', 1200,
    'SOA_170', 'Large',       'unrel_con', 'Neutral', 'H0', 1200,
    'SOA_170', 'Small',       'neigh_con', 'Neutral', 'H0', 1200,
    'SOA_170', 'Small',       'unrel_con', 'Neutral', 'H0', 1200,
    'SOA_220', 'Large',       'neigh_inc', 'Neutral', 'H0', 1200,
    'SOA_220', 'Small',       'neigh_con', 'Neutral', 'H0', 1200,
    'SOA_220', 'Small',       'unrel_con', 'Neutral', 'H0', 1200)

# Plot
prime_plot <- 
  list(exp3_RT_distr =
         exp3_rainplot %>% 
         mutate(
           neutral = if_else(neutral == 'neutral', 'Neutral', 'Other'),
           problem_size = if_else(problem_size == 'large', 'Large', 'Small')
         ) %>% 
         ggplot(aes(x = cond, y = DV, fill = neutral)) +
         geom_flat_violin(aes(fill = neutral),
                          position = position_nudge(x = 0.18, y = 0),
                          adjust = 1.5,
                          trim = FALSE,
                          alpha = .5,
                          colour = NA) +
         geom_point(aes(x = as.numeric(factor(cond)) - 0.23, y = DV, colour = neutral),
                    position = position_jitter(width = 0.05, height = 0),
                    size = 1,
                    shape = 20) +
         geom_boxplot(aes(x = cond, y = DV, fill = neutral),
                      outlier.shape = NA,
                      alpha = 0.5,
                      width = 0.3,
                      colour = 'black') +
         geom_text(data = segs,
                   aes(x = cond,  y = ys, label = lab),
                   size = 3.5) + 
         geom_vline(xintercept = c(c(0:3) + 1.65),
                    linetype = 'solid',
                    color = 'grey80',
                    size = 0.3) +
         # scale_colour_brewer(palette = 'Dark2') +
         # scale_fill_brewer(palette = 'Dark2') +
         # scale_y_continuous(breaks = seq(300, 1500, by = 200)) + 
         labs(x = 'Prime condition', y = 'RTs') +
         facet_grid(rows = vars(SOA), cols = vars(problem_size)) +
         theme(
           #panel.grid.major = element_blank(),
           #panel.grid.minor = element_blank(),
           panel.background = element_blank(),
           panel.grid.major.y = element_line(colour = 'grey90'),
           panel.grid.minor.y = element_line(colour = 'grey90'),
           panel.grid.major.x = element_blank(),
           panel.grid.minor.x = element_blank(),
           legend.title = element_blank(),
           strip.background = element_blank(),
           text = element_text(size = 15),
           axis.text = element_text(size = 12, colour = 'black'),
           axis.text.x = element_text(angle = 45, hjust = 1),
           # axis.title = element_text(size = 14),
           panel.border = element_rect(colour = 'black', fill = NA, size = 0.5)
         )
  )

# show plot
prime_plot$exp3_RT_distr

# Plot - Black and white version
prime_plot$exp3_RT_distr_bw <- 
  exp3_rainplot %>% 
  mutate(
    neutral = if_else(neutral == 'neutral', 'Neutral', 'Other'),
    problem_size = if_else(problem_size == 'large', 'Large', 'Small')
  ) %>% 
  ggplot(aes(x = cond, y = DV, fill = neutral)) +
  geom_flat_violin(position = position_nudge(x = 0.15, y = 0),
                   adjust = 1.5,
                   trim = FALSE,
                   alpha = .5,
                   colour = 'black') +
  geom_point(aes(x = as.numeric(factor(cond)) - 0.2, y = DV),
             position = position_jitter(width = 0.05, height = 0),
             size = 1,
             shape = 21) +
  geom_boxplot(outlier.shape = NA,
               alpha = 0.5,
               width = 0.25) +
  geom_text(data = segs,
            aes(x = cond,  y = ys, label = lab),
            size = 3.5) + 
  geom_vline(xintercept = c(c(0:3) + 1.65),
             linetype = 'solid',
             color = 'grey80',
             size = 0.3) +
  scale_fill_manual(values = c('white', 'grey20')) +
  scale_color_manual(values = c('white', 'grey20')) +
  labs(x = 'Prime condition', y = 'RTs') +
  facet_grid(rows = vars(SOA), cols = vars(problem_size)) +
  theme(
    #panel.grid.major = element_blank(),
    #panel.grid.minor = element_blank(),
    panel.background = element_blank(),
    panel.grid.major.y = element_line(colour = 'grey90'),
    panel.grid.minor.y = element_line(colour = 'grey90'),
    panel.grid.major.x = element_blank(),
    panel.grid.minor.x = element_blank(),
    legend.title = element_blank(),
    strip.background = element_blank(),
    text = element_text(size = 15),
    axis.text = element_text(size = 12, colour = 'black'),
    axis.text.x = element_text(angle = 45, hjust = 1),
    # axis.title = element_text(size = 14),
    panel.border = element_rect(colour = 'black', fill = NA, size = 0.5)
  )

Bayes factor

Bayes factors are computer with the package BayesFactor.

tribble(
  ~BF,      ~Evidence,
  '0-3',    'Anectodal',
  '3-10',   'Moderate',
  '10-30',  'Strong',
  '30-100', 'Very_strong',
  '>100',   'Decisive') %>% 
   make_table('Bayes factor interpretation')
Bayes factor interpretation
BF Evidence
0-3 Anectodal
3-10 Moderate
10-30 Strong
30-100 Very_strong
>100 Decisive
exp3_bf <- 
  exp3 %>% 
  group_by(SOA) %>% 
  group_nest() %>% 
  mutate(
    bf_soa = map(
      data,
      ~return_BF_ttest(.,
                       problem_size,
                       prime_cond,
                       'neutral',
                       RT,
                       ID = 'sj')
  )
  ) %>% 
  select(SOA, bf_soa) %>% 
  unnest(bf_soa) %>% 
  identity()

exp3_bf
#> # A tibble: 24 x 11
#>    SOA    problem_size prime_cond.x          data.x aggr_data.x     prime_cond.y
#>    <chr>  <chr>        <chr>        <list<tibble[,> <list>          <chr>       
#>  1 SOA_0~ large        neigh_con         [364 x 17] <tibble[,2] [2~ neutral     
#>  2 SOA_0~ large        neigh_inc         [361 x 17] <tibble[,2] [2~ neutral     
#>  3 SOA_0~ large        unrel_con         [367 x 17] <tibble[,2] [2~ neutral     
#>  4 SOA_0~ large        unrel_inc         [365 x 17] <tibble[,2] [2~ neutral     
#>  5 SOA_0~ small        neigh_con         [431 x 17] <tibble[,2] [2~ neutral     
#>  6 SOA_0~ small        neigh_inc         [431 x 17] <tibble[,2] [2~ neutral     
#>  7 SOA_0~ small        unrel_con         [433 x 17] <tibble[,2] [2~ neutral     
#>  8 SOA_0~ small        unrel_inc         [437 x 17] <tibble[,2] [2~ neutral     
#>  9 SOA_1~ large        neigh_con         [347 x 17] <tibble[,2] [2~ neutral     
#> 10 SOA_1~ large        neigh_inc         [351 x 17] <tibble[,2] [2~ neutral     
#> # ... with 14 more rows, and 5 more variables: data.y <list<tibble[,17]>>,
#> #   aggr_data.y <list>, BF_test <list>, bf <dbl>, error <dbl>

exp3_bf <- 
  exp3_bf %>%
  select(SOA, problem_size, prime_cond.x, bf) %>% 
  rename(prime_cond = prime_cond.x, BF_10 = bf) %>% 
  mutate(
    BF_01 = 1 / BF_10
  ) 

# # Show results
# exp3_bf %>% 
#   make_table('Bayes factor')

Calculate statistics for RT

exp3_stats <-
  exp3 %>% 
  return_stats(c('SOA', 'problem_size', 'prime_cond'))
#> `summarise()` has grouped output by 'sj', 'SOA', 'problem_size'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'SOA', 'problem_size'. You can override using the `.groups` argument.

# Add difference between prime means and neutral prime mean
exp3_stats <- 
  left_join(
    exp3_stats,
    exp3_stats %>% 
      filter(prime_cond == 'neutral') %>% 
      select(SOA, problem_size, Mean) %>% 
      rename(Diff = Mean)
  ) %>% 
  mutate(
    Diff = Mean - Diff
  )
#> Joining, by = c("SOA", "problem_size")

# # Print results in a file
# exp3_stats %>% 
#   print_result('exp3_stats_RTs')
# 
# # Show the table with the statistics
# exp3_stats %>%
#   make_table('Prime type statistics')

Table 3

Table with RTs mean, standard deviation and standard error (aggregated on subject, condition, and SOA), and Bayes factors:

exp3_table <- 
  full_join(
    exp3_stats %>% 
      mutate(across(where(is.numeric), ~round(.x, digits = 0))),
    exp3_bf %>% 
      mutate(across(where(is.numeric), ~round(.x, digits = 2))))
#> Joining, by = c("SOA", "problem_size", "prime_cond")

# Print results in a file
exp3_table %>% 
  # mutate(across(where(is.numeric), ~round(.x, digits = 2))) %>% 
  print_result('exp3_table')

# Show results
exp3_table %>% 
   make_table('Table3')
Table3
SOA problem_size prime_cond N_sj Mean SD SE Diff BF_10 BF_01
SOA_050 large neigh_con 29 623 176 33 -8 0.23 4.30
SOA_050 large neigh_inc 29 616 174 32 -15 0.32 3.13
SOA_050 large neutral 29 631 186 34 0 NA NA
SOA_050 large unrel_con 29 614 162 30 -16 0.38 2.62
SOA_050 large unrel_inc 29 632 169 31 1 0.20 5.05
SOA_050 small neigh_con 29 566 115 21 22 4.04 0.25
SOA_050 small neigh_inc 29 590 152 28 46 8.35 0.12
SOA_050 small neutral 29 544 106 20 0 NA NA
SOA_050 small unrel_con 29 556 120 22 12 0.35 2.89
SOA_050 small unrel_inc 29 561 110 20 17 0.51 1.95
SOA_170 large neigh_con 29 634 173 32 16 0.35 2.88
SOA_170 large neigh_inc 29 644 165 31 26 2.56 0.39
SOA_170 large neutral 29 618 155 29 0 NA NA
SOA_170 large unrel_con 29 606 145 27 -12 0.30 3.37
SOA_170 large unrel_inc 29 600 143 27 -18 0.63 1.59
SOA_170 small neigh_con 29 572 123 23 6 0.23 4.26
SOA_170 small neigh_inc 29 576 116 21 10 0.38 2.64
SOA_170 small neutral 29 566 122 23 0 NA NA
SOA_170 small unrel_con 29 565 110 20 -1 0.20 5.04
SOA_170 small unrel_inc 29 590 136 25 24 0.77 1.30
SOA_220 large neigh_con 29 620 169 31 -13 0.37 2.72
SOA_220 large neigh_inc 29 625 173 32 -9 0.23 4.39
SOA_220 large neutral 29 634 188 35 0 NA NA
SOA_220 large unrel_con 29 613 155 29 -20 0.52 1.91
SOA_220 large unrel_inc 29 648 180 33 15 0.34 2.93
SOA_220 small neigh_con 29 569 114 21 8 0.25 4.04
SOA_220 small neigh_inc 29 586 117 22 26 1.13 0.89
SOA_220 small neutral 29 560 125 23 0 NA NA
SOA_220 small unrel_con 29 566 110 20 6 0.25 4.02
SOA_220 small unrel_inc 29 582 128 24 21 1.28 0.78

Plot prime conditions

# Set bar colors ("neutral" is the 4th and the 10th)
bar_colors <- rep(c('gray80', 'gray80', 'gray40', 'gray80', 'gray80'), 6)

# Set asterisk position
segs <- 
  tribble(
    ~SOA,      ~problem_size, ~prime_cond, ~lab, ~ys,
    'SOA_050', 'large',       'neigh_con', 'H0', 520,
    'SOA_050', 'large',       'neigh_inc', 'H0', 520,
    'SOA_050', 'large',       'unrel_inc', 'H0', 520,
    'SOA_050', 'small',       'neigh_con', 'H1', 520,
    'SOA_050', 'small',       'neigh_inc', 'H1', 520,
    'SOA_170', 'large',       'unrel_con', 'H0', 520,
    'SOA_170', 'small',       'neigh_con', 'H0', 520,
    'SOA_170', 'small',       'unrel_con', 'H0', 520,
    'SOA_220', 'large',       'neigh_inc', 'H0', 520,
    'SOA_220', 'small',       'neigh_con', 'H0', 520,
    'SOA_220', 'small',       'unrel_con', 'H0', 520)

# plot prime type
prime_plot$exp3_box <- 
  exp3_stats %>% 
  mutate(
    prime_cond = factor(
      prime_cond,
      levels = c('identity', 'neutral', 'neigh_con', 'neigh_inc', 'unrel_con', 'unrel_inc')
  )) %>% 
  ggplot(aes(x = prime_cond, y = Mean, fill = prime_cond)) +
  geom_bar(stat = 'identity',
           fill = bar_colors,
           width = 0.6,
           show.legend = FALSE) +
  geom_errorbar(
    aes(group = prime_cond, ymin = Mean - SE, ymax = Mean + SE),
    width = 0.07,
    position = position_dodge(0.9)) +
  geom_text(data = segs,
            aes(x = prime_cond,  y = ys, label = lab),
            size = 3) +
  coord_cartesian(ylim = c(500, 675)) +
  labs(x = 'Prime cond', y = 'Mean RTs') +
  facet_wrap(~ SOA + problem_size, ncol = 2) +
  theme(
    #panel.grid.major = element_blank(),
    #panel.grid.minor = element_blank(),
    panel.background = element_blank(),
    panel.grid.major.y = element_line(colour = 'grey90'),
    panel.grid.minor.y = element_line(colour = 'grey90'),
    panel.grid.major.x = element_blank(),
    panel.grid.minor.x = element_blank(),
    text = element_text(size = 15),
    axis.text = element_text(size = 12, colour = 'black'),
    axis.text.x = element_text(angle = 45, hjust = 1),
    # axis.title = element_text(size = 14),
    panel.border = element_rect(colour = 'black', fill = NA, size = 0.5))

# show plot
prime_plot$exp3
#> NULL

Plot Bayes factors

# plot prime type
prime_plot$exp3_bf <- 
  exp3_bf %>% 
  mutate(
    prime_cond = factor(
      prime_cond,
      levels = c('neigh_con', 'neigh_inc', 'unrel_con', 'unrel_inc'))
  ) %>% 
  ggplot(aes(x = prime_cond, y = BF_10, fill = prime_cond)) +
  geom_bar(stat = 'identity',
           fill = 'gray80',
           width = 0.6,
           show.legend = FALSE) +
  geom_hline(yintercept = c(3, 10, 30, 100),
             linetype = 'dashed',
             color = 'red',
             size = 0.5) +
  coord_cartesian(ylim = c(0, 10)) +
  labs(x = 'Prime cond', y = bquote('Bayes factor (' ~BF[10]~ ')')) +
  facet_wrap(~ SOA + problem_size, ncol = 2) +
  theme(
    #panel.grid.major = element_blank(),
    #panel.grid.minor = element_blank(),
    panel.background = element_blank(),
    panel.grid.major.y = element_line(colour = 'grey90'),
    panel.grid.minor.y = element_line(colour = 'grey90'),
    panel.grid.major.x = element_blank(),
    panel.grid.minor.x = element_blank(),
    text = element_text(size = 15),
    axis.text = element_text(size = 12, colour = 'black'),
    axis.text.x = element_text(angle = 45, hjust = 1),
    # axis.title = element_text(size = 14),
    panel.border = element_rect(colour = 'black', fill = NA, size = 0.5))
  NULL
#> NULL

# show plot
prime_plot$exp3_bf

Frequentist t-tests

Calculate the t-tests between neutral prime and other conditions (the results are also saved in the folder results)

# prepare conditions to compare in the t-tests
prime_cond_to_comprare <- 
  list(c('neigh_con', 'neutral'),
       c('neigh_inc', 'neutral'),
       c('unrel_con', 'neutral'),
       c('unrel_inc', 'neutral'))


# t-tests between prime conditions
exp3_ttests <- 
  exp3 %>% 
  group_by(SOA, problem_size) %>% 
  group_nest() %>% 
  mutate(
    ttests = map(
      data,
      ~return_ttest_2samples(RT,
                             prime_cond,
                             prime_cond_to_comprare,
                             c('sj', 'prime_cond'),
                             .)
  )) %>% 
  select(SOA, problem_size, ttests) %>% 
  unnest(ttests) %>% 
  mutate(
    p_adj = p.adjust(p, method = 'holm'),
    Sig_adj = p.adjust(p, method = 'holm') < 0.05
  )
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.
#> `summarise()` has grouped output by 'sj'. You can override using the `.groups` argument.

# Print the results in csv and txt files
exp3_ttests %>% 
  print_result(., 'exp3_ttests')

# Show the table with the statistics
exp3_ttests %>%
  make_table('T-tests for experiment 3')
T-tests for experiment 3
SOA problem_size var1 var2 mean_var1 mean_var2 mean_diff std_error t df p sig Cohen_d_z Hedges_g_av p_adj Sig_adj
SOA_050 large neigh_con neutral 622.64 630.63 -7.99 13.37 -0.60 28 0.56 FALSE 0.11 0.04 1.00 FALSE
SOA_050 large neigh_inc neutral 615.71 630.63 -14.92 14.51 -1.03 28 0.31 FALSE 0.19 0.08 1.00 FALSE
SOA_050 large unrel_con neutral 614.20 630.63 -16.43 13.61 -1.21 28 0.24 FALSE 0.22 0.09 1.00 FALSE
SOA_050 large unrel_inc neutral 631.86 630.63 1.24 12.95 0.10 28 0.92 FALSE 0.02 0.01 1.00 FALSE
SOA_050 small neigh_con neutral 565.75 544.11 21.64 8.00 2.70 28 0.01 TRUE 0.50 0.19 0.26 FALSE
SOA_050 small neigh_inc neutral 590.11 544.11 46.00 15.06 3.05 28 0.00 TRUE 0.57 0.35 0.12 FALSE
SOA_050 small unrel_con neutral 556.25 544.11 12.15 10.90 1.11 28 0.27 FALSE 0.21 0.11 1.00 FALSE
SOA_050 small unrel_inc neutral 560.79 544.11 16.69 11.41 1.46 28 0.15 FALSE 0.27 0.15 1.00 FALSE
SOA_170 large neigh_con neutral 634.11 618.28 15.83 14.17 1.12 28 0.27 FALSE 0.21 0.09 1.00 FALSE
SOA_170 large neigh_inc neutral 644.46 618.28 26.18 10.60 2.47 28 0.02 TRUE 0.46 0.16 0.44 FALSE
SOA_170 large unrel_con neutral 606.10 618.28 -12.18 12.88 -0.95 28 0.35 FALSE 0.18 0.08 1.00 FALSE
SOA_170 large unrel_inc neutral 599.83 618.28 -18.45 11.43 -1.61 28 0.12 FALSE 0.30 0.12 1.00 FALSE
SOA_170 small neigh_con neutral 571.91 566.22 5.70 9.26 0.62 28 0.54 FALSE 0.11 0.05 1.00 FALSE
SOA_170 small neigh_inc neutral 575.97 566.22 9.75 8.13 1.20 28 0.24 FALSE 0.22 0.08 1.00 FALSE
SOA_170 small unrel_con neutral 565.24 566.22 -0.98 9.85 -0.10 28 0.92 FALSE 0.02 0.01 1.00 FALSE
SOA_170 small unrel_inc neutral 589.85 566.22 23.64 13.43 1.76 28 0.09 FALSE 0.33 0.18 1.00 FALSE
SOA_220 large neigh_con neutral 620.30 633.51 -13.21 11.28 -1.17 28 0.25 FALSE 0.22 0.07 1.00 FALSE
SOA_220 large neigh_inc neutral 624.99 633.51 -8.52 15.32 -0.56 28 0.58 FALSE 0.10 0.05 1.00 FALSE
SOA_220 large unrel_con neutral 613.11 633.51 -20.40 13.79 -1.48 28 0.15 FALSE 0.27 0.12 1.00 FALSE
SOA_220 large unrel_inc neutral 648.08 633.51 14.56 13.25 1.10 28 0.28 FALSE 0.20 0.08 1.00 FALSE
SOA_220 small neigh_con neutral 568.66 560.22 8.44 12.02 0.70 28 0.49 FALSE 0.13 0.07 1.00 FALSE
SOA_220 small neigh_inc neutral 586.02 560.22 25.80 12.87 2.01 28 0.05 FALSE 0.37 0.21 1.00 FALSE
SOA_220 small unrel_con neutral 566.36 560.22 6.14 8.66 0.71 28 0.48 FALSE 0.13 0.05 1.00 FALSE
SOA_220 small unrel_inc neutral 581.63 560.22 21.40 10.29 2.08 28 0.05 TRUE 0.39 0.17 0.98 FALSE

Save plots in a file

ggarrange(prime_plot$exp3_RT_distr)
ggsave(here('figures', 'exp3_RTs_distr.tiff'),
       width = 9,
       height = 7,
       dpi = 150) # or dpi = 300

ggarrange(prime_plot$exp3_RT_distr_bw)
ggsave(here('figures', 'exp3_RTs_distr_bw.tiff'),
       width = 9,
       height = 7,
       dpi = 150) # or dpi = 300

ggarrange(prime_plot$exp3_box)
ggsave(here('figures', 'exp3_RTs.tiff'),
       width = 8,
       height = 6,
       dpi = 150) # or dpi = 300

ggarrange(prime_plot$exp3_bf)
ggsave(here('figures', 'exp3_BF.tiff'),
       width = 8,
       height = 6,
       dpi = 150) # or dpi = 300

session information

xfun::session_info()
#> R version 4.0.5 (2021-03-31)
#> Platform: x86_64-w64-mingw32/x64 (64-bit)
#> Running under: Windows 10 x64 (build 19044)
#> 
#> Locale:
#>   LC_COLLATE=English_United Kingdom.1252 
#>   LC_CTYPE=English_United Kingdom.1252   
#>   LC_MONETARY=English_United Kingdom.1252
#>   LC_NUMERIC=C                           
#>   LC_TIME=English_United Kingdom.1252    
#> 
#> Package version:
#>   abind_1.4-5              askpass_1.1              assertthat_0.2.1        
#>   backports_1.2.1          base64enc_0.1.3          BayesFactor_0.9.12-4.2  
#>   BH_1.75.0.0              blob_1.2.1               boot_1.3.27             
#>   broom_0.7.6              bslib_0.2.4              callr_3.6.0             
#>   car_3.0-10               carData_3.0-4            cellranger_1.1.0        
#>   cli_2.4.0                clipr_0.7.1              coda_0.19-4             
#>   colorspace_2.0-0         compiler_4.0.5           conquer_1.0.2           
#>   contfrac_1.1.12          corrplot_0.84            cowplot_1.1.1           
#>   cpp11_0.2.7              crayon_1.4.1             crosstalk_1.1.1         
#>   curl_4.3                 data.table_1.14.0        DBI_1.1.1               
#>   dbplyr_2.1.1             deSolve_1.28             digest_0.6.27           
#>   dplyr_1.0.5              dtplyr_1.1.0             ellipsis_0.3.1          
#>   elliptic_1.4.0           evaluate_0.14            fansi_0.4.2             
#>   farver_2.1.0             forcats_0.5.1            foreign_0.8-81          
#>   fs_1.5.0                 gargle_1.1.0             generics_0.1.0          
#>   ggplot2_3.3.5            ggpubr_0.4.0             ggrepel_0.9.1           
#>   ggridges_0.5.3           ggsci_2.9                ggsignif_0.6.1          
#>   glue_1.4.2               googledrive_1.0.1        googlesheets4_0.3.0     
#>   graphics_4.0.5           grDevices_4.0.5          grid_4.0.5              
#>   gridExtra_2.3            gtable_0.3.0             gtools_3.8.2            
#>   haven_2.3.1              here_1.0.1               highr_0.8               
#>   hms_1.0.0                htmltools_0.5.1.1        htmlwidgets_1.5.3       
#>   httr_1.4.2               hypergeo_1.2.13          ids_1.0.1               
#>   isoband_0.2.4            jquerylib_0.1.3          jsonlite_1.7.2          
#>   kableExtra_1.3.4         knitr_1.33               labeling_0.4.2          
#>   later_1.1.0.1            lattice_0.20-41          lazyeval_0.2.2          
#>   lifecycle_1.0.0          lme4_1.1.26              lubridate_1.7.10        
#>   magrittr_2.0.1           maptools_1.1.1           markdown_1.1            
#>   MASS_7.3.53.1            Matrix_1.3-2             MatrixModels_0.5-0      
#>   matrixStats_0.58.0       methods_4.0.5            mgcv_1.8.34             
#>   mime_0.10                minqa_1.2.4              modelr_0.1.8            
#>   munsell_0.5.0            mvtnorm_1.1-1            nlme_3.1.152            
#>   nloptr_1.2.2.2           nnet_7.3.15              numDeriv_2016.8.1.1     
#>   openssl_1.4.3            openxlsx_4.2.3           parallel_4.0.5          
#>   pbapply_1.4-3            pbkrtest_0.5.1           pillar_1.6.0            
#>   pkgconfig_2.0.3          plotly_4.9.3             plyr_1.8.6              
#>   polynom_1.4.0            prettyunits_1.1.1        processx_3.5.1          
#>   progress_1.2.2           promises_1.2.0.1         ps_1.6.0                
#>   purrr_0.3.4              quantreg_5.85            R6_2.5.0                
#>   rappdirs_0.3.3           RColorBrewer_1.1.2       Rcpp_1.0.6              
#>   RcppArmadillo_0.10.2.2.0 RcppEigen_0.3.3.9.1      readr_1.4.0             
#>   readxl_1.3.1             rematch_1.0.1            rematch2_2.1.2          
#>   reprex_2.0.0             rio_0.5.26               rlang_0.4.10            
#>   rmarkdown_2.7            rprojroot_2.0.2          rstatix_0.7.0           
#>   rstudioapi_0.13          rvest_1.0.0              sass_0.3.1              
#>   scales_1.1.1             selectr_0.4.2            sp_1.4.5                
#>   SparseM_1.81             splines_4.0.5            statmod_1.4.35          
#>   stats_4.0.5              stringi_1.5.3            stringr_1.4.0           
#>   svglite_2.0.0            sys_3.4                  systemfonts_1.0.2       
#>   tibble_3.1.0             tidyr_1.1.3              tidyselect_1.1.0        
#>   tidyverse_1.3.1          tinytex_0.31             tools_4.0.5             
#>   utf8_1.2.1               utils_4.0.5              uuid_0.1.4              
#>   vctrs_0.3.7              viridisLite_0.3.0        webshot_0.5.2           
#>   withr_2.4.1              xfun_0.22                xml2_1.3.2              
#>   yaml_2.2.1               zip_2.1.1